Disk drives are well known in the computer art for providing secondary mass storage with random access. A disk drive essentially comprises one or more magnetic data storage disks rotating on a spindle by a spindle motor within an enclosed housing. A magnetic transducer head is placed on an actuator arm and positioned very closely to each data storage surface by a slider suspended upon an air bearing. Servo information is typically written in servo sectors which interrupt data sectors or blocks on each disk. Servo information provides a servo control loop in the disk drive with head position information to enable a head positioner mechanism, such as a rotary voice coil motor (VCM), to move the actuator arm, and therefore the head, from track to track during random access track seeking operations, and to maintain the head in proper alignment with a track centerline during track following operations when user data is written to or read from the available data block storage areas of the disk surface.
Efforts have been made to increase the data storage capacity of disk drives. In one example, the bit density on the disk magnetic media has been increased to pack the data more tightly on a given track. When this method is implemented, writing data is still relatively simple using standard inductive head technology. Reading the data back, however, becomes more challenging as spacing between flux transitions on the media is reduced. To ensure accurate data reads, several methods are used. It is known to use two separate heads; one for reading and one for writing. Standard inductive heads are used for writing, and ultra-sensitive magneto-resistive (MR) heads are used for reading. The read heads generate analog signals in response to flux transitions on the media, and the “read signal” (e.g., a readback signal) is interpreted or “detected” by the drive electronics (e.g., a detector).
Sampled data detectors implementing partial response signaling are in use in conventional disk drives. In sampled data detection systems, the readback signal is filtered and sampled at a channel rate of 1/T, where T is the duration of a channel symbol. One such technique employs what is known as a partial response maximum likelihood (PRML) system. The synchronous sampling process employed in PRML quantizes signal amplitudes at specific intervals throughout each readback signal transition interval T. One widespread PRML system uses filters to equalize the readback signal to a partial response class 4 (PR4) signal. The discrete-time transfer function of a PR4 channel is (1−D)2, where D represents a unit-time delay operator with unit-time T. In an idealized PR4 channel, a noiseless output is equal to the input signal minus a version of the input signal delayed in time by 2T. In a practical PR4 channel, the output of the noisy partial response channel is sampled at the channel rate and detected using a sequence detector, such as a Viterbi detector. Another partial response model is EPR4 with a discrete-time transfer function of (1−D)(1+D)2 or (1+D−D2−D3) and EEPR4 with a discrete-time transfer function of (1−D)(1+D)3 or (1+2D−2D3−D4).
Once a channel model is selected, a sequence detector may be fashioned. Sequence detectors frequently implement a version of the Viterbi algorithm. Typically, the Viterbi detector is designed for maximum likelihood detection of the sampled partial response channel in additive, independent, and identically distributed Gaussian noise with zero mean. The Viterbi algorithm minimizes squared Euclidean distance between the sequence of noisy samples and all possible sequences of idealized noiseless samples in accordance with the particular channel model. The Viterbi algorithm is an iterative process of keeping track of the path (branch) with the smallest accumulated metric (branch metric) leading to each state. The metrics of all of the paths leading into a particular state are calculated and compared. Then, the path with the smallest metric is selected as a survivor path and the other paths are discarded. In this manner, all paths which are not part of the minimum metric path are systematically eliminated. The survivor path to each state is stored in a path memory. Given that the path memory is made sufficiently long, nearly all of the selected survivor paths will almost always diverge from a single path within the span of the path memory. The single path from which all the current survivor paths diverge is the minimum metric path. The Viterbi detector then traces back along the path memory to find the convergence state. The input sequence associated with the single minimum metric path then becomes the most-likely symbol output of the Viterbi detector.
A Viterbi detector does not attempt to decide whether a transition has occurred upon receipt of a readback sample or samples taken from a particular transition. Rather, samples are taken from the readback signal and equalized to the target channel model. The Viterbi detector then keeps a running tally of the error between the actual sample sequence and a correct sample sequence, i.e. a sequence that would be expected if the recording media had been written with a particular sequence of transitions. One way of visualizing the Viterbi detector path memory is by way of a trellis diagram having plural states and plural paths leading from each state to other states. As analog-to-digital samples (y) are fed into one end of the trellis, estimates of previous bits are output at an opposite end of the trellis. An error metric is determined for each one of plural possible state transition sequences. As more samples come into the Viterbi detector, less probable transition sequences (branches/paths) are eliminated and, by tracing back along the trellis, a most likely path emerges as a convergent set of paths which enables a most-likely data decision to be made by the Viterbi detector.
The magnetic recording channel is not an ideal channel. Rather, noise, media defects, non-linear response of the playback element and other distracting influences may result in distortion of, or error in, the readback signal. Therefore, error events can, and do, occur. When sequence detection is employed, error events may result in a most likely path being selected by the Viterbi detector which diverges from the correct path. Coding constraints are frequently employed in order to limit burst error lengths so that the trellis (path memory) can be made with a practical maximum number of states. However, in any sequence detector, such as a Viterbi detector, the trellis will have multiple states and must receive multiple samples before it can reach its decision as to each most likely path (and therefore each most likely binary data value (one or zero) to output).
A significant trend currently occurring in the magnetic disk drive industry is that there is more pattern dependent media noise (primarily because of larger magnetic grains due to thermal instability concerns) and more nonlinearity (primarily because of higher data rate). In current read channels, detection algorithms in detectors assume a linear magnetic recording channel (after write precompensation and MR non-linearity cancellation) with additive (not pattern dependent) Gaussian noise. Thus, the performance of conventional detectors is significantly degraded because they do not take into account media noise and nonlinearities. For example, currently available read channels that use Viterbi detectors do not take into account pattern dependent media noise or pattern dependent nonlinearities. This includes detectors which are referred to as noise-whitening detectors.
U.S. Pat. No. 6,201,839 to Kavcic et al. ('839 patent) and a corresponding publication titled “The Viterbi Algorithm and Markov Noise Memory” (A. Kavcic and J. M. F. Moura, IEEE Trans. on Information Theory, vol. 46, no. 1, pp. 291–301 (January, 2000)) provide a theoretical basis for detectors for signal dependent nonlinearity and signal dependent colored noise. The '839 patent generally suggests various detector structures for signal dependent nonlinearity and signal dependent colored noise under certain assumptions, but does not provide a particular structure for magnetic recording. Further, most of the detector structures described are very complex, and thus very difficult to implement in a read channel. Even further, the problem of training/optimization of the detector, or any of the other associated algorithms for magnetic recording, is not addressed. Yet further, in another publication titled “Modified Viterbi Algorithm for Jitter-Dominant 1−D2 channel” by Zeng et al., IEEE Trans. on Magnetics, vol. 28, no. 5, pp. 2895–2897 (September, 1992), the publication discusses the branch metric scaling for only a PR4 channel and does not offer an approach to compensate for signal nonlinearities.